package org.softmed.rest.server.core.handler;

import java.util.Map;

import org.restlet.Context;
import org.restlet.data.Form;
import org.restlet.data.Request;
import org.restlet.data.Response;
import org.softmed.rest.config.Application;
import org.softmed.rest.config.Handler;
import org.softmed.rest.config.HttpMethod;
import org.softmed.rest.config.MimeTypeHandler;
import org.softmed.rest.config.Module;
import org.softmed.rest.config.Resource;

public class HandlerProcessParameters {

	Application application;
	Module module;
	HttpMethod httpMethod;
	MimeTypeHandler mimeTypeHandler;
	private Resource resource;
	private Context context;
	private Request request;
	private Response response;
	private Map<String, Object> sequenceParameters;
	private Map<String, Object> uriParameters;
	private Form queryParameters;

	public Application getApplication() {
		return application;
	}

	public void setApplication(Application application) {
		this.application = application;
	}

	public Module getModule() {
		return module;
	}

	public void setModule(Module module) {
		this.module = module;
	}

	public HttpMethod getHttpMethod() {
		return httpMethod;
	}

	public void setHttpMethod(HttpMethod httpMethod) {
		this.httpMethod = httpMethod;
	}

	public MimeTypeHandler getMimeTypeHandler() {
		return mimeTypeHandler;
	}

	public void setMimeTypeHandler(MimeTypeHandler mimeTypeHandler) {
		this.mimeTypeHandler = mimeTypeHandler;
	}

	public HandlerProcessParameters(Application application, Module module,
			Resource resource, HttpMethod httpMethod,
			MimeTypeHandler mimeTypeHandler, Context context, Request request,
			Response response, Map<String, Object> sequenceParameters,
			Map<String, Object> uriParameters, Form queryParameters) {

		this.application = application;
		this.module = module;
		this.httpMethod = httpMethod;
		this.mimeTypeHandler = mimeTypeHandler;

		this.resource = resource;
		this.context = context;
		this.request = request;
		this.response = response;
		this.sequenceParameters = sequenceParameters;
		this.uriParameters = uriParameters;
		this.queryParameters = queryParameters;
	}

	public Resource getResource() {
		return resource;
	}

	public void setResource(Resource resource) {
		this.resource = resource;
	}

	public Context getContext() {
		return context;
	}

	public void setContext(Context context) {
		this.context = context;
	}

	public Request getRequest() {
		return request;
	}

	public void setRequest(Request request) {
		this.request = request;
	}

	public Response getResponse() {
		return response;
	}

	public void setResponse(Response response) {
		this.response = response;
	}

	public Map<String, Object> getSequenceParameters() {
		return sequenceParameters;
	}

	public void setSequenceParameters(Map<String, Object> sequenceParameters) {
		this.sequenceParameters = sequenceParameters;
	}

	public Map<String, Object> getUriParameters() {
		return uriParameters;
	}

	public void setUriParameters(Map<String, Object> uriParameters) {
		this.uriParameters = uriParameters;
	}

	public Form getQueryParameters() {
		return queryParameters;
	}

	public void setQueryParameters(Form queryParameters) {
		this.queryParameters = queryParameters;
	}
}